#ifndef __LED_H_

#define __LED_H_

/**
 * @brief 初始化 对应 GPIO 为推挽输出
 * 
 * @param RCC_APB2Periph 
 * @param gpio_typeDef 
 * @param gpio_pins 
 */
void init_gpio_pp(uint32_t RCC_APB2Periph,GPIO_TypeDef * gpio_typeDef,uint16_t gpio_pins);

/**
 * @brief 设置 对应 GPIO 为上拉输入
 * 
 * @param RCC_APB2Periph 
 * @param gpio_typeDef 
 * @param gpio_pins 
 */
void init_gpio_ipu(uint32_t RCC_APB2Periph,GPIO_TypeDef * gpio_typeDef,uint16_t gpio_pins);

/**
 * @brief 配置 GPIO 引脚 为下拉输入
 * 
 * @param RCC_APB2Periph 
 * @param gpio_typeDef 
 * @param gpio_pins 
 */
void init_gpio_ipd(uint32_t RCC_APB2Periph,GPIO_TypeDef * gpio_typeDef,uint16_t gpio_pins);

/**
 * @brief   把 对应GPIO 的 相应 号引脚 设置为 高电平
 * 
 * @param gpio_typeDef 
 * @param gpio_pins 
 */
void high_level_signal(GPIO_TypeDef * gpio_typeDef,uint16_t gpio_pins);

void low_level_signal(GPIO_TypeDef * gpio_typeDef,uint16_t gpio_pins);

/**
 * @brief 读取 gpio 引脚输出寄存器中的状态
 * 
 * @param gpio_typeDef 
 * @param gpio_pin 
 * @return uint8_t 
 */
uint8_t read_gpio_status(GPIO_TypeDef * gpio_typeDef,uint16_t gpio_pin);


#endif // !__LED_H_



